#!/bin/bash

# 泰国充值系统部署脚本

echo "🚀 开始部署泰国充值系统..."

# 检查是否安装了 Bun
if ! command -v bun &> /dev/null; then
    echo "❌ Bun 未安装，请先安装 Bun: https://bun.sh"
    exit 1
fi

# 设置生产环境变量
export NODE_ENV=production

echo "🔧 设置生产环境配置..."
# 复制API生产环境配置文件
if [ -f "apps/api/.env.production" ]; then
    cp apps/api/.env.production apps/api/.env
    echo "✅ API 生产环境配置已设置"
else
    echo "⚠️  警告: apps/api/.env.production 文件不存在"
fi

# 复制Web前端生产环境配置文件
if [ -f "apps/web/.env.production" ]; then
    cp apps/web/.env.production apps/web/.env
    echo "✅ Web 前端生产环境配置已设置"
else
    echo "⚠️  警告: apps/web/.env.production 文件不存在"
fi

echo "📦 构建共享包..."
cd packages/shared
echo "🔧 安装共享包依赖..."
bun install
echo "🏗️  构建共享包..."
bun run build
if [ ! -d "dist" ]; then
    echo "❌ 共享包构建失败"
    exit 1
fi
echo "✅ 共享包构建完成"
cd ../..

echo "🔧 构建后端 API..."
cd apps/api
echo "🔧 安装 API 依赖..."
bun install
echo "🔧 生成 Prisma 客户端..."
bun run db:generate
echo "🏗️  构建 API..."
bun run build
if [ ! -d "dist" ]; then
    echo "❌ API 构建失败"
    exit 1
fi
echo "✅ API 构建完成"
cd ../..

echo "🌐 构建 Web 前端..."
cd apps/web
echo "🔧 安装 Web 前端依赖..."
bun install
echo "🏗️  构建 Web 前端..."
bun run build
if [ ! -d "dist" ]; then
    echo "❌ Web 前端构建失败"
    exit 1
fi
echo "✅ Web 前端构建完成"
cd ../..

echo "🗄️  运行数据库迁移..."
cd apps/api
bun run db:push
cd ../..

echo "🚀 启动生产服务..."
./start-normal.sh

echo "✅ 泰国充值系统部署完成！"
echo ""
echo "🌐 服务访问地址:"
echo "   - 后端API: http://52.77.253.74:3017"
echo "   - Web 前端: http://52.77.253.74:5173"
echo ""
echo "📊 查看状态: pm2 status"
echo "📝 查看日志: pm2 logs"
